
package com.jf.cloud.common.product.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jf.cloud.common.serializer.ImgJsonSerializer;
import com.jf.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;

import javax.validation.constraints.NotNull;

/**
 * 套装商品sku项VO
 *
 * @author zz
 * @date 2022-08-16 09:18:06
 */
public class ComboSpuSkuVO extends BaseVO{
    private static final long serialVersionUID = 1L;

    @Schema(description = "套餐商品sku项id" )
    private Long comboSpuId;

    @Schema(description = "skuId" )
    @NotNull(message = "skuId不能为空")
    private Long skuId;

    @Schema(description = "搭配价格" )
    @NotNull(message = "搭配价格不能为空")
    private Long matchingPrice;

    @Schema(description = "sku名称" )
    private String skuName;

    @Schema(description = "sku图片" )
    @JsonSerialize(using = ImgJsonSerializer.class)
    private String pic;

    @Schema(description = "sku价格" )
    private Long priceFee;

    @Schema(description = "sku库存" )
    private Integer stocks;

    @Schema(description = "sku状态 0 禁用 1 启用 -1 删除" )
    private Integer skuStatus;

    @Schema(description = "销售属性组合字符串 格式是p1:v1;p2:v2" )
    private String properties;

    @Schema(description = "套餐id" )
    private Long comboId;

    @Schema(description = "spuId" )
    private Long spuId;

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Long getComboId() {
        return comboId;
    }

    public void setComboId(Long comboId) {
        this.comboId = comboId;
    }

    /**
     * 商品是否必选：1：是 0：否
     */
    private Integer spuRequired;

    public String getSkuName() {
        return skuName;
    }


    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public Long getPriceFee() {
        return priceFee;
    }

    public void setPriceFee(Long price) {
        this.priceFee = price;
    }

    public Integer getStocks() {
        return stocks;
    }

    public void setStocks(Integer stocks) {
        this.stocks = stocks;
    }

    public Integer getSkuStatus() {
        return skuStatus;
    }

    public void setSkuStatus(Integer skuStatus) {
        this.skuStatus = skuStatus;
    }

    public String getProperties() {
        return properties;
    }

    public void setProperties(String properties) {
        this.properties = properties;
    }

    public Integer getSpuRequired() {
        return spuRequired;
    }

    public void setSpuRequired(Integer spuRequired) {
        this.spuRequired = spuRequired;
    }

    public void setSkuName(String skuName) {
        this.skuName = skuName;
    }

    public Long getComboSpuId() {
        return comboSpuId;
    }

    public void setComboSpuId(Long comboSpuId) {
        this.comboSpuId = comboSpuId;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public Long getMatchingPrice() {
        return matchingPrice;
    }

    public void setMatchingPrice(Long matchingPrice) {
        this.matchingPrice = matchingPrice;
    }

    @Override
    public String toString() {
        return "ComboSpuSkuVO{" +
                "comboSpuId=" + comboSpuId +
                ",skuId=" + skuId +
                ",matchingPrice=" + matchingPrice +
                '}';
    }
}
